package users.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;

import common.util.PageInfoUtil;
import users.pojo.AMenu;
import users.pojo.ARoleMenu;

/**
 * 权限包括service
 * 包含菜单表，菜单菜单关系表
 * @author lby
 *
 */
public interface IAuthDbService
{
	/*~~菜单表开始~~*/
	/***
	 * 保存一条菜单记录 ，返回值是jSON
	 * @param menu
	 * @return
	 */
	JSONObject saveOneMenuService(AMenu menu) ;
	/***
	 * 更新一条菜单记录 返回值是JSON
	 * @param menu
	 * @return
	 */
	JSONObject updateOneMenuService(AMenu menu);
	/***
	 * 删除一条菜单记录 返回值是JSON
	 * @param condMap
	 * @return
	 */
	JSONObject deleteONeMenuService(Map<String,Object>condMap);
	/***
	 * 查询一条菜单记录 返回值是AMenu
	 * @param condMap
	 * @return
	 */
	AMenu findOneMenuService(Map<String,Object>condMap);
	/**
	 * 查询多条菜单记录(分页)
	 * @param condMap
	 * @return
	 */
	List<AMenu> findCondListMenuService(PageInfoUtil pageInfoUtil,Map<String,Object> condMap);
	
	
	/***
	 * 查询多条菜单记录 (不分页)
	 * @param id   如果传了，显示的是这颗id树，如果不传parentId显示的是这颗树的树形结构
	 * @param operType  向上找和向下找，必须穿
	 * @return
	 */
	List<AMenu>findCondListTreeMenuService(int id ,String operType);
	/*~~菜单表结束~~*/
	/*~~角色菜单单表开始~~*/
	/**
	 * 添加一条角色菜单表
	 * @param roleMenu
	 * @return
	 */
	JSONObject savaOneRoleMenuService(ARoleMenu roleMenu);
	/**
	 * 更新一条角色菜单表
	 * @param roleMenu
	 * @return
	 */
	JSONObject updateRoleMenuService(ARoleMenu roleMenu);
	/**
	 * 删除一条角色菜单记录
	 * @param condMap
	 * @return
	 */
	JSONObject deleteRoleMenuService(Map<String,Object>condMap);
	/**
	 * 查询一条角色菜单数据
	 * @param condMap
	 * @return
	 */
	ARoleMenu findOneRoleMenuService(Map<String,Object>condMap);
	/***
	 * 查询多条角色菜单数据
	 * @param pageInfoUtil
	 * @param condMap
	 * @return
	 */
	List<ARoleMenu> findCondListRoleMenuService(PageInfoUtil pageInfoUtil,Map<String,Object>condMap);
	/*~~角色菜单表结束~~*/
	
	
	
	
	
	
}
